//
// Created by A on 2024/6/23.
//

#ifndef GAME_MLINK_H
#define GAME_MLINK_H

typedef struct {
    int key;
    void * pp;
}data;//数据域的结构类型
typedef struct link {//单链表的数据结构
    data Ldata;
    struct link* next;//好像这里不能用LNode来定义，因为这就是在定义LNode
}LNode;





extern LNode* List_init(void);
extern int ListEmpty(LNode* L);
extern int DestoryList_L(LNode* L);
extern int ClearList(LNode* L);
extern int GetElem_L(LNode* L, int i, data* data);
extern int ListLength(LNode* L);
extern LNode* LocateElem_L_P(LNode* L, int nam);
extern LNode* LocateElem_LN_P(LNode* L, int n);
extern int LocateElem_L_N(LNode* L, int nam);
extern int ListInsert_L(LNode* L, int i, data dat);
extern int ListDelete_L(LNode* L, int i, data* dat);
extern int CreateList_H(LNode* L, data dat);
extern int CreateList_R(LNode* L, data dat);

#endif //GAME_MLINK_H
